package com.firefoxking.mysite.dao;


import com.firefoxking.mysite.dao.dto.MetaCond;
import com.firefoxking.mysite.entity.Metadata;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import javax.persistence.criteria.CriteriaBuilder;
import java.util.List;

@Mapper
public interface MetadataMapper {

    /**
     * 添加元数据项
     * @param metadata
     * @return
     */
    int addMetadata(Metadata metadata);

    /**
     * 删除元数据项
     * @param mid
     * @return
     */
    int deleteMetadataById(@Param("mid") Integer mid);

    /**
     * 更新元数据项
     * @param metadata
     * @return
     */
    int updateMetadataById(Metadata metadata);

    /**
     * 根据 id 查找元数据
     * @param mid
     * @return
     */
    Metadata getMetadataById(@Param("mid") Integer mid);

    /**
     * 根据条件查找元数据
     * @param metaCond
     * @return
     */
    List<Metadata> getMetadataByCond(MetaCond metaCond);


    Long getMetadataCountByType(@Param("type") String type);
}
